package huawei_nowcoder;

import java.util.*;

/**
 * @Description: 单词倒排
 * @Date: 2020/4/22
 * @Author: 许群星
 */
public class _30_WordsReverse {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while (sc.hasNext()){
            String str=sc.nextLine();
            str=str.trim();
            char[] chars=str.toCharArray();
            Stack<String> stack=new Stack<>();

            //单词入栈，出栈
            String temp="";
            int i=0;
            while (i<chars.length){
                if (Character.isLetter(chars[i])){
                    temp+=chars[i];
                    i++;
                }else {
                    if (!"".equals(temp))
                        stack.push(temp);
                    temp="";
                    i++;
                }
            }
            stack.push(temp);

            String ans="";
            while (!stack.isEmpty()){
                ans+=(stack.pop()+" ");
            }
            ans=ans.trim();
            System.out.println(ans);
        }
    }
}
/*
题目描述
对字符串中的所有单词进行倒排。
说明：
1、每个单词是以26个大写或小写英文字母构成；
2、非构成单词的字符均视为单词间隔符；
3、要求倒排后的单词间隔符以一个空格表示；如果原字符串中相邻单词间有多个间隔符时，倒排转换后也只允许出现一个空格间隔符；
4、每个单词最长20个字母；
输入描述:
输入一行以空格来分隔的句子
输出描述:
输出句子的逆序
示例1
输入
复制
I am a student
输出
复制
student a am I
 */
